package com.bdzl.biz.dao;

import com.bdzl.pub.entity.data.BankcardDO;
import com.bdzl.pub.entity.data.EnterpriseDO;
import com.bdzl.pub.entity.loan.AgentDO;
import com.bdzl.pub.entity.sys.FileDO;
import com.bdzl.pub.vo.EnterpriseVO;
import com.bdzl.pub.vo.data.AgentVO;
import com.bdzl.pub.vo.data.BankcardVO;

import java.util.List;
import java.util.Map;

/**
 * 经销商信息表
 * @author yangyicai
 * @email yangyicai@foxmail.com
 * @date 2021-05-11 15:23:42
 */
public interface AgentDao {

	AgentDO get(Integer agentId);

	List<AgentDO> list(Map<String,Object> map);

	int count(Map<String,Object> map);

	int save(AgentDO agent);

	int update(AgentDO agent);

	int remove(Integer agent_id);

	int batchRemove(Integer[] agentIds);

	/**
	 * 获取经销上信息 和 经销商的银行卡信息
	 */
	List<AgentVO> agnetRelBankcardlist(Map map);

	/**
	 * 获取合同信息
	 */
	List<FileDO> fileList(Map map);
	/**
	 * 删除合同信息
	 */
	int removeFile(Map map);


	/**
	 * 获取 经销商信息，和 创建，修改 经销商信息的人的名字
	 * @param agentId
	 * @return
	 */
	AgentVO getAgentAndUser(Integer agentId);

	/**
	 * 获取企业信息
	 * @param map
	 * @return
	 */
	List<EnterpriseVO> enterpriseList(Map<String, Object> map);

	/**
	 * 添加银行卡信息
	 */
	int saveBankcard(BankcardDO bankcard);
	/**
	 * 添加合同信息
	 */
	int saveFile(FileDO file);

	/**
	 * 获取经销商和 创建人名字list
	 * @param map
	 * @return
	 */
	List<AgentVO> getAgentAndUserList(Map map);

	/**
	 * 修改银行卡信息
	 */
	int updateBankcard(BankcardDO bankcardDO);

	/**
	 * 修改企业信息
	 */
	int updateEnterprise(EnterpriseDO enterpriseDO);

	List<BankcardVO> getBankcardList(Map map);
	int getBankcardListcount(Map map);
}
